From 96d707444dad70619b23504cbe36a6af5caca9ba Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 7 May 2020 15:02:39 -0400 Subject: [PATCH] fixed: Add gtk_fixed_remove This is the replacement for gtk_container_reomve. --- docs/reference/gtk/gtk4-sections.txt | 1 + gtk/gtkfixed.c | 20 +++++++++++++++----- gtk/gtkfixed.h | 3 +++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt index 63a8916aa3..04d667f75e 100644 --- a/docs/reference/gtk/gtk4-sections.txt +++ b/docs/reference/gtk/gtk4-sections.txt @@ -1210,6 +1210,7 @@ gtk_filter_list_model_get_type GtkFixed gtk_fixed_new gtk_fixed_put +gtk_fixed_remove gtk_fixed_move GTK_FIXED diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c index 3d35f0a24b..40f3576eba 100644 --- a/gtk/gtkfixed.c +++ b/gtk/gtkfixed.c @@ -78,8 +78,6 @@ static void gtk_fixed_add (GtkContainer *container, GtkWidget *widget); -static void gtk_fixed_remove (GtkContainer *container, - GtkWidget *widget); static void gtk_fixed_forall (GtkContainer *container, GtkCallback callback, gpointer callback_data); @@ -296,10 +294,22 @@ gtk_fixed_add (GtkContainer *container, gtk_fixed_put (GTK_FIXED (container), widget, 0, 0); } -static void -gtk_fixed_remove (GtkContainer *container, - GtkWidget *widget) +/** + * gtk_fixed_remove: + * @fixed: a #GtkFixed + * @widget: the child widget to remove + * + * Removes a child from @fixed, after it has been added + * with gtk_fixed_put(). + */ +void +gtk_fixed_remove (GtkFixed *fixed, + GtkWidget *widget) { + g_return_if_fail (GTK_IS_FIXED (fixed)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed)); + gtk_widget_unparent (widget); } diff --git a/gtk/gtkfixed.h b/gtk/gtkfixed.h index 539dfed970..77acdf3e85 100644 --- a/gtk/gtkfixed.h +++ b/gtk/gtkfixed.h @@ -70,6 +70,9 @@ void gtk_fixed_put (GtkFixed *fixed, gint x, gint y); GDK_AVAILABLE_IN_ALL +void gtk_fixed_remove (GtkFixed *fixed, + GtkWidget *widget); +GDK_AVAILABLE_IN_ALL void gtk_fixed_move (GtkFixed *fixed, GtkWidget *widget, gint x, -- 2.30.2